//
// typica - A client library for Amazon Web Services
// Copyright (C) 2007 Xerox Corporation
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

package org.esprit.ocm.model.ec2;

import java.util.List;

import net.sf.gilead.pojo.java5.LightEntity;

/**
 * An instance of this class represents an AMI description.
 * <p>
 * Instances are returned by calls to
 * {@link com.xerox.amazonws.ec2.Jec2#describeImages(List)} or
 * {@link com.xerox.amazonws.ec2.Jec2#describeImages(String[])}.
 */
public class ImageDescriptionMapping extends LightEntity {

	/**
	 *  
	 */ 
	private static final long	serialVersionUID	= 7052684582296311729L;

	private String				imageId;
	private String				imageLocation;
	private String				imageOwnerId;
	private String				imageState;
	private boolean				isPublic;
	private List<String>		productCodes;
	private String				architecture;
	private String				imageType;
	private String				kernelId;
	private String				ramdiskId;
	private String				platform;

	private String				reason;
	private String				imageOwnerAlias;
	private String				name;
	private String				description;
	private String				rootDeviceType;
	private String				rootDeviceName;

//	public ImageDescriptionMapping(String id, String loc, String owner, String state, Boolean isPublic, List<String> productCodes,
//			String architecture, String imageType, String kernelId, String ramdiskId, String platform, String reason, String imageOwnerAlias,
//			String name, String description, String rootDeviceType, String rootDeviceName) {
//		this.imageId = id;
//		this.imageLocation = loc;
//		this.imageOwnerId = owner;
//		this.imageState = state;
//		this.isPublic = isPublic;
//		this.productCodes = productCodes;
//		this.architecture = architecture;
//		this.imageType = imageType;
//		this.kernelId = kernelId;
//		this.ramdiskId = ramdiskId;
//		this.platform = platform;
//		this.reason = reason;
//		this.imageOwnerAlias = imageOwnerAlias;
//		this.name = name;
//		this.description = description;
//		this.rootDeviceType = rootDeviceType;
//		this.rootDeviceName = rootDeviceName;
//	}

	public String getImageId() {
		return imageId;
	}

	public void setImageId(String imageId) {
		this.imageId = imageId;
	}

	public String getImageLocation() {
		return imageLocation;
	}

	public void setImageLocation(String imageLocation) {
		this.imageLocation = imageLocation;
	}

	public String getImageOwnerId() {
		return imageOwnerId;
	}

	public void setImageOwnerId(String imageOwnerId) {
		this.imageOwnerId = imageOwnerId;
	}

	public String getImageState() {
		return imageState;
	}

	public void setImageState(String imageState) {
		this.imageState = imageState;
	}

	public boolean isPublic() {
		return isPublic;
	}

	public void setPublic(boolean isPublic) {
		this.isPublic = isPublic;
	}

	public List<String> getProductCodes() {
		return productCodes;
	}

	public void setProductCodes(List<String> productCodes) {
		this.productCodes = productCodes;
	}

	public String getArchitecture() {
		return architecture;
	}

	public void setArchitecture(String architecture) {
		this.architecture = architecture;
	}

	public String getImageType() {
		return imageType;
	}

	public void setImageType(String imageType) {
		this.imageType = imageType;
	}

	public String getKernelId() {
		return kernelId;
	}

	public void setKernelId(String kernelId) {
		this.kernelId = kernelId;
	}

	public String getRamdiskId() {
		return ramdiskId;
	}

	public void setRamdiskId(String ramdiskId) {
		this.ramdiskId = ramdiskId;
	}

	public String getPlatform() {
		return platform;
	}

	public void setPlatform(String platform) {
		this.platform = platform;
	}

	public String getReason() {
		return reason;
	}

	public void setReason(String reason) {
		this.reason = reason;
	}

	public String getImageOwnerAlias() {
		return imageOwnerAlias;
	}

	public void setImageOwnerAlias(String imageOwnerAlias) {
		this.imageOwnerAlias = imageOwnerAlias;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getRootDeviceType() {
		return rootDeviceType;
	}

	public void setRootDeviceType(String rootDeviceType) {
		this.rootDeviceType = rootDeviceType;
	}

	public String getRootDeviceName() {
		return rootDeviceName;
	}

	public void setRootDeviceName(String rootDeviceName) {
		this.rootDeviceName = rootDeviceName;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

}
